package cn.iocoder.yudao.module.reading.controller.app.community.vo.work;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 社区作品详情 Response VO
 *
 * @author 芋道源码
 */
@Schema(description = "用户 APP - 社区作品详情 Response VO")
@Data
public class WorkRespVO {

    @Schema(description = "作品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long id;

    @Schema(description = "作品标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "小红帽")
    private String title;

    @Schema(description = "作品作者", example = "格林兄弟")
    private String author;

    @Schema(description = "作品封面", example = "https://example.com/cover.jpg")
    private String cover;

    @Schema(description = "作品描述", example = "这是一个经典的童话故事...")
    private String description;

    @Schema(description = "作品类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "book")
    private String type;

    @Schema(description = "总页数", example = "24")
    private Integer totalPages;

    @Schema(description = "权限类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "allow")
    private String permission;

    @Schema(description = "是否已收藏", requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
    private Boolean isCollected;

    @Schema(description = "阅读量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1234")
    private Integer readCount;

    @Schema(description = "收藏量", requiredMode = Schema.RequiredMode.REQUIRED, example = "567")
    private Integer collectCount;

    @Schema(description = "点赞量", requiredMode = Schema.RequiredMode.REQUIRED, example = "890")
    private Integer likeCount;

}
